package testenv.model.entity;

import java.util.Calendar;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.SequenceGenerator;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

import testenv.model.AbstractBaseEntity;


@Entity
@SequenceGenerator(name="testsqltype_id_seq", sequenceName="testsqltype_id_sequence")
public class TestSQLType extends AbstractBaseEntity {
	private static final long serialVersionUID = 1L;
	
	
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="testsqltype_id_seq")
	@GenericGenerator(
	     name="testsqltype_id_seq",
	     strategy="sequence",
	     parameters= {
	         @Parameter(name="minvalue", value="1"),
	         @Parameter(name="increment", value="1"),
	         @Parameter(name="sequence", value="testsqltype_id_sequence")
	         })
	private Integer id = null;
	
	@Column(length=50)
	private String testString50;
	
	@Column(length=250)
	private String testString250;
	
	@Lob
	private String testLOB;
	
	private int testIntPrim = 666;
	
	private Integer testInteger = new Integer(666);
	
	private long testLongPrim = 666;
	
	private Long testLong = 666L;
	
	private float testFloatPrim = 6.66F;
	
	private Float testFloat = 6.66F;
	
	private boolean testBooleanPrim = false;
	
	private Boolean testBoolean = false;

	private Date testDate = new Date();
	
	private Calendar testCalendar = Calendar.getInstance();
	
	@Lob
	private Object testObject = null;
	
	
	@Override
	public Integer getId() {
		return this.id;
	}

	@Override
	public void setId(Integer id) {
		this.id = id;
	}

	
	
	public String getTestString50() {
		return testString50;
	}

	public void setTestString50(String testString50) {
		this.testString50 = testString50;
	}

	public String getTestString250() {
		return testString250;
	}

	public void setTestString250(String testString250) {
		this.testString250 = testString250;
	}

	public String getTestLOB() {
		return testLOB;
	}

	public void setTestLOB(String testLOB) {
		this.testLOB = testLOB;
	}

	public int getTestIntPrim() {
		return testIntPrim;
	}

	public void setTestIntPrim(int testIntPrim) {
		this.testIntPrim = testIntPrim;
	}

	public Integer getTestInteger() {
		return testInteger;
	}

	public void setTestInteger(Integer testInteger) {
		this.testInteger = testInteger;
	}

	public long getTestLongPrim() {
		return testLongPrim;
	}

	public void setTestLongPrim(long testLongPrim) {
		this.testLongPrim = testLongPrim;
	}

	public Long getTestLong() {
		return testLong;
	}

	public void setTestLong(Long testLong) {
		this.testLong = testLong;
	}

	public float getTestFloatPrim() {
		return testFloatPrim;
	}

	public void setTestFloatPrim(float testFloatPrim) {
		this.testFloatPrim = testFloatPrim;
	}

	public Float getTestFloat() {
		return testFloat;
	}

	public void setTestFloat(Float testFloat) {
		this.testFloat = testFloat;
	}

	public boolean isTestBooleanPrim() {
		return testBooleanPrim;
	}

	public void setTestBooleanPrim(boolean testBooleanPrim) {
		this.testBooleanPrim = testBooleanPrim;
	}

	public Boolean getTestBoolean() {
		return testBoolean;
	}

	public void setTestBoolean(Boolean testBoolean) {
		this.testBoolean = testBoolean;
	}

	public Date getTestDate() {
		return testDate;
	}

	public void setTestDate(Date testDate) {
		this.testDate = testDate;
	}

	public Calendar getTestCalendar() {
		return testCalendar;
	}

	public void setTestCalendar(Calendar testCalendar) {
		this.testCalendar = testCalendar;
	}


	public Object getTestObject() {
		return testObject;
	}

	public void setTestObject(Object testObject) {
		this.testObject = testObject;
	}
	
	
}
